/**
 */
package de.claaswilke.presents;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see de.claaswilke.presents.PresentsFactory
 * @model kind="package"
 * @generated
 */
public interface PresentsPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "presents";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://www.claaswilke.de/presents";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "presents";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	PresentsPackage eINSTANCE = de.claaswilke.presents.impl.PresentsPackageImpl.init();

	/**
	 * The meta object id for the '{@link de.claaswilke.presents.impl.PresentGroupImpl <em>Present Group</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see de.claaswilke.presents.impl.PresentGroupImpl
	 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPresentGroup()
	 * @generated
	 */
	int PRESENT_GROUP = 0;

	/**
	 * The feature id for the '<em><b>Persons</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PRESENT_GROUP__PERSONS = 0;

	/**
	 * The feature id for the '<em><b>Conflicts</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PRESENT_GROUP__CONFLICTS = 1;

	/**
	 * The feature id for the '<em><b>Past Presents</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PRESENT_GROUP__PAST_PRESENTS = 2;

	/**
	 * The number of structural features of the '<em>Present Group</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PRESENT_GROUP_FEATURE_COUNT = 3;

	/**
	 * The meta object id for the '{@link de.claaswilke.presents.impl.PersonImpl <em>Person</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see de.claaswilke.presents.impl.PersonImpl
	 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPerson()
	 * @generated
	 */
	int PERSON = 1;

	/**
	 * The feature id for the '<em><b>Identifier</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PERSON__IDENTIFIER = 0;

	/**
	 * The number of structural features of the '<em>Person</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PERSON_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link de.claaswilke.presents.impl.ConflictImpl <em>Conflict</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see de.claaswilke.presents.impl.ConflictImpl
	 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getConflict()
	 * @generated
	 */
	int CONFLICT = 2;

	/**
	 * The feature id for the '<em><b>Conflictees</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONFLICT__CONFLICTEES = 0;

	/**
	 * The feature id for the '<em><b>Conflictor</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONFLICT__CONFLICTOR = 1;

	/**
	 * The number of structural features of the '<em>Conflict</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CONFLICT_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link de.claaswilke.presents.impl.PastPresentImpl <em>Past Present</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see de.claaswilke.presents.impl.PastPresentImpl
	 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPastPresent()
	 * @generated
	 */
	int PAST_PRESENT = 3;

	/**
	 * The feature id for the '<em><b>From</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PAST_PRESENT__FROM = 0;

	/**
	 * The feature id for the '<em><b>To</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PAST_PRESENT__TO = 1;

	/**
	 * The number of structural features of the '<em>Past Present</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PAST_PRESENT_FEATURE_COUNT = 2;


	/**
	 * The meta object id for the '{@link de.claaswilke.presents.impl.PastPresentRuleImpl <em>Past Present Rule</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see de.claaswilke.presents.impl.PastPresentRuleImpl
	 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPastPresentRule()
	 * @generated
	 */
	int PAST_PRESENT_RULE = 4;

	/**
	 * The feature id for the '<em><b>Multiplicator</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PAST_PRESENT_RULE__MULTIPLICATOR = 0;

	/**
	 * The feature id for the '<em><b>Person</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PAST_PRESENT_RULE__PERSON = 1;

	/**
	 * The number of structural features of the '<em>Past Present Rule</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PAST_PRESENT_RULE_FEATURE_COUNT = 2;


	/**
	 * Returns the meta object for class '{@link de.claaswilke.presents.PresentGroup <em>Present Group</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Present Group</em>'.
	 * @see de.claaswilke.presents.PresentGroup
	 * @generated
	 */
	EClass getPresentGroup();

	/**
	 * Returns the meta object for the containment reference list '{@link de.claaswilke.presents.PresentGroup#getPersons <em>Persons</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Persons</em>'.
	 * @see de.claaswilke.presents.PresentGroup#getPersons()
	 * @see #getPresentGroup()
	 * @generated
	 */
	EReference getPresentGroup_Persons();

	/**
	 * Returns the meta object for the containment reference list '{@link de.claaswilke.presents.PresentGroup#getConflicts <em>Conflicts</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Conflicts</em>'.
	 * @see de.claaswilke.presents.PresentGroup#getConflicts()
	 * @see #getPresentGroup()
	 * @generated
	 */
	EReference getPresentGroup_Conflicts();

	/**
	 * Returns the meta object for the containment reference list '{@link de.claaswilke.presents.PresentGroup#getPastPresents <em>Past Presents</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Past Presents</em>'.
	 * @see de.claaswilke.presents.PresentGroup#getPastPresents()
	 * @see #getPresentGroup()
	 * @generated
	 */
	EReference getPresentGroup_PastPresents();

	/**
	 * Returns the meta object for class '{@link de.claaswilke.presents.Person <em>Person</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Person</em>'.
	 * @see de.claaswilke.presents.Person
	 * @generated
	 */
	EClass getPerson();

	/**
	 * Returns the meta object for the attribute '{@link de.claaswilke.presents.Person#getIdentifier <em>Identifier</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Identifier</em>'.
	 * @see de.claaswilke.presents.Person#getIdentifier()
	 * @see #getPerson()
	 * @generated
	 */
	EAttribute getPerson_Identifier();

	/**
	 * Returns the meta object for class '{@link de.claaswilke.presents.Conflict <em>Conflict</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Conflict</em>'.
	 * @see de.claaswilke.presents.Conflict
	 * @generated
	 */
	EClass getConflict();

	/**
	 * Returns the meta object for the reference list '{@link de.claaswilke.presents.Conflict#getConflictees <em>Conflictees</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Conflictees</em>'.
	 * @see de.claaswilke.presents.Conflict#getConflictees()
	 * @see #getConflict()
	 * @generated
	 */
	EReference getConflict_Conflictees();

	/**
	 * Returns the meta object for the reference '{@link de.claaswilke.presents.Conflict#getConflictor <em>Conflictor</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Conflictor</em>'.
	 * @see de.claaswilke.presents.Conflict#getConflictor()
	 * @see #getConflict()
	 * @generated
	 */
	EReference getConflict_Conflictor();

	/**
	 * Returns the meta object for class '{@link de.claaswilke.presents.PastPresent <em>Past Present</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Past Present</em>'.
	 * @see de.claaswilke.presents.PastPresent
	 * @generated
	 */
	EClass getPastPresent();

	/**
	 * Returns the meta object for the reference '{@link de.claaswilke.presents.PastPresent#getFrom <em>From</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>From</em>'.
	 * @see de.claaswilke.presents.PastPresent#getFrom()
	 * @see #getPastPresent()
	 * @generated
	 */
	EReference getPastPresent_From();

	/**
	 * Returns the meta object for the containment reference list '{@link de.claaswilke.presents.PastPresent#getTo <em>To</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>To</em>'.
	 * @see de.claaswilke.presents.PastPresent#getTo()
	 * @see #getPastPresent()
	 * @generated
	 */
	EReference getPastPresent_To();

	/**
	 * Returns the meta object for class '{@link de.claaswilke.presents.PastPresentRule <em>Past Present Rule</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Past Present Rule</em>'.
	 * @see de.claaswilke.presents.PastPresentRule
	 * @generated
	 */
	EClass getPastPresentRule();

	/**
	 * Returns the meta object for the attribute '{@link de.claaswilke.presents.PastPresentRule#getMultiplicator <em>Multiplicator</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Multiplicator</em>'.
	 * @see de.claaswilke.presents.PastPresentRule#getMultiplicator()
	 * @see #getPastPresentRule()
	 * @generated
	 */
	EAttribute getPastPresentRule_Multiplicator();

	/**
	 * Returns the meta object for the reference '{@link de.claaswilke.presents.PastPresentRule#getPerson <em>Person</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Person</em>'.
	 * @see de.claaswilke.presents.PastPresentRule#getPerson()
	 * @see #getPastPresentRule()
	 * @generated
	 */
	EReference getPastPresentRule_Person();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	PresentsFactory getPresentsFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link de.claaswilke.presents.impl.PresentGroupImpl <em>Present Group</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see de.claaswilke.presents.impl.PresentGroupImpl
		 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPresentGroup()
		 * @generated
		 */
		EClass PRESENT_GROUP = eINSTANCE.getPresentGroup();

		/**
		 * The meta object literal for the '<em><b>Persons</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PRESENT_GROUP__PERSONS = eINSTANCE.getPresentGroup_Persons();

		/**
		 * The meta object literal for the '<em><b>Conflicts</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PRESENT_GROUP__CONFLICTS = eINSTANCE.getPresentGroup_Conflicts();

		/**
		 * The meta object literal for the '<em><b>Past Presents</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PRESENT_GROUP__PAST_PRESENTS = eINSTANCE.getPresentGroup_PastPresents();

		/**
		 * The meta object literal for the '{@link de.claaswilke.presents.impl.PersonImpl <em>Person</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see de.claaswilke.presents.impl.PersonImpl
		 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPerson()
		 * @generated
		 */
		EClass PERSON = eINSTANCE.getPerson();

		/**
		 * The meta object literal for the '<em><b>Identifier</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PERSON__IDENTIFIER = eINSTANCE.getPerson_Identifier();

		/**
		 * The meta object literal for the '{@link de.claaswilke.presents.impl.ConflictImpl <em>Conflict</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see de.claaswilke.presents.impl.ConflictImpl
		 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getConflict()
		 * @generated
		 */
		EClass CONFLICT = eINSTANCE.getConflict();

		/**
		 * The meta object literal for the '<em><b>Conflictees</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CONFLICT__CONFLICTEES = eINSTANCE.getConflict_Conflictees();

		/**
		 * The meta object literal for the '<em><b>Conflictor</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CONFLICT__CONFLICTOR = eINSTANCE.getConflict_Conflictor();

		/**
		 * The meta object literal for the '{@link de.claaswilke.presents.impl.PastPresentImpl <em>Past Present</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see de.claaswilke.presents.impl.PastPresentImpl
		 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPastPresent()
		 * @generated
		 */
		EClass PAST_PRESENT = eINSTANCE.getPastPresent();

		/**
		 * The meta object literal for the '<em><b>From</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PAST_PRESENT__FROM = eINSTANCE.getPastPresent_From();

		/**
		 * The meta object literal for the '<em><b>To</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PAST_PRESENT__TO = eINSTANCE.getPastPresent_To();

		/**
		 * The meta object literal for the '{@link de.claaswilke.presents.impl.PastPresentRuleImpl <em>Past Present Rule</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see de.claaswilke.presents.impl.PastPresentRuleImpl
		 * @see de.claaswilke.presents.impl.PresentsPackageImpl#getPastPresentRule()
		 * @generated
		 */
		EClass PAST_PRESENT_RULE = eINSTANCE.getPastPresentRule();

		/**
		 * The meta object literal for the '<em><b>Multiplicator</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PAST_PRESENT_RULE__MULTIPLICATOR = eINSTANCE.getPastPresentRule_Multiplicator();

		/**
		 * The meta object literal for the '<em><b>Person</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PAST_PRESENT_RULE__PERSON = eINSTANCE.getPastPresentRule_Person();

	}

} //PresentsPackage
